943ff0d78df0b5e01fa5bdeb0ab82647bfdd3daa,Mage/src/mage/abilities/effects/common/search/SearchLibraryPutOnLibraryEffect.java,SearchLibraryPutOnLibraryEffect,apply,#Game#Ability#,77
Before Change
}
// shuffle
if (forceShuffle)
player.shuffleLibrary(game);
return false;
}
After Change
@Override
public boolean apply(Game game, Ability source) {
Player controller = game.getPlayer(source.getControllerId());
MageObject sourceObject = game.getObject(source.getSourceId());
if (controller == null || sourceObject == null) {
return false;
}
if (controller.searchLibrary(target, game)) {
List<Card> cards = new ArrayList<>();
for (UUID cardId: (List<UUID>)target.getTargets()) {
Card card = controller.getLibrary().remove(cardId, game);
if (card != null) {
cards.add(card);
}
}
Cards foundCards = new CardsImpl();
foundCards.addAll(cards);
if (reveal) {
controller.revealCards(sourceObject.getLogName(), foundCards, game);
}
if (forceShuffle) {
controller.shuffleLibrary(game);
}
if (cards.size() > 0) {
game.informPlayers(controller.getName() + " moves " + cards.size() + " card" + (cards.size() == 1 ? " ":"s ") + "on top of his or her library");
}
for (Card card: cards) {
card.moveToZone(Zone.LIBRARY, source.getSourceId(), game, true);
}
return true;
}
// shuffle
if (forceShuffle) {
controller.shuffleLibrary(game);
}
return false;
}